home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Megazin 3
/
Megazin - Issue 3 (1993-12-01)(Vicious).adf
/
STUFF
/
mst-sdtr.lha
/
stardust_trsetup.asm
< prev
Wrap
Assembly Source File
|
1993-12-08
|
3KB
|
206 lines
org $1f0000
load $1f0000
a000
org $1f0000+$c0
load $1f0000+$c0
a0c0 blk.b 6,0
warp1
movem.l d0/a0,-(a7)
move.l #$4e714e71,d0
move.l warp_addr(pc),a0
move.l (a0),a0
tst.b $c1.w
beq.s .no_nrg
move.l d0,$3480-$7d4(a0)
move.w d0,$3480-$7d4+4(a0)
.no_nrg
tst.b $c0.w
beq.s .no_life
move.l d0,$17a2-$7d4(a0)
move.w d0,$17a2-$7d4+4(a0)
move.l d0,$17da-$7d4(a0)
move.w d0,$17da-$7d4+4(a0)
.no_life
movem.l (a7)+,d0/a0
bra.w warp
warp2
movem.l d0/a0,-(a7)
move.l #$4e714e71,d0
move.l warp_addr(pc),a0
move.l (a0),a0
tst.b $c1.w
beq.s .no_nrg
move.l d0,$3bb8-$7d4(a0)
move.w d0,$3bb8-$7d4+4(a0)
.no_nrg
tst.b $c0.w
beq.s .no_life
move.l d0,$1ace-$7d4(a0)
move.w d0,$1ace-$7d4+4(a0)
move.l d0,$1b0c-$7d4(a0)
move.w d0,$1b0c-$7d4+4(a0)
.no_life
movem.l (a7)+,d0/a0
bra.w warp
warp3
movem.l d0/a0,-(a7)
move.l #$4e714e71,d0
move.l warp_addr(pc),a0
move.l (a0),a0
tst.b $c1.w
beq.s .no_nrg
move.l d0,$3bd0-$7d4(a0)
move.w d0,$3bd0-$7d4+4(a0)
.no_nrg
tst.b $c0.w
beq.s .no_life
move.l d0,$1ade-$7d4(a0)
move.w d0,$1ade-$7d4+4(a0)
move.l d0,$1b16-$7d4(a0)
move.w d0,$1b16-$7d4+4(a0)
.no_life
movem.l (a7)+,d0/a0
bra.w warp
warp4
movem.l d0/a0,-(a7)
move.l #$4e714e71,d0
move.l warp_addr(pc),a0
move.l (a0),a0
tst.b $c1.w
beq.s .no_nrg
move.l d0,$3c6e-$7d4(a0)
move.w d0,$3c6e-$7d4+4(a0)
move.w #0,$d0c-$7d4+4(a0) ; forcefield energy sub!
.no_nrg
tst.b $c0.w
beq.s .no_life
move.l d0,$1830-$7d4(a0)
move.w d0,$1830-$7d4+4(a0)
move.l d0,$1868-$7d4(a0)
move.w d0,$1868-$7d4+4(a0)
.no_life
movem.l (a7)+,d0/a0
bra.w warp
warp move.l warp_addr(pc),a5
move.l (a5),a5
jmp (a5)
warp_addr
dc.l 0
base_addr
dc.l 0
org $1f0000+$200
load $1f0000+$200
a200 move.l #$7fff,$dff09a
move.l #$7fff,$dff09c
move.l #$7fff,$dff096
movem.l d0/a0/a1,-(a7)
move.l #$4e714e71,d0
tst.b $c0.w
beq.s .no_life
lea $c04f0c-$c00400(a5),a0 ; life
move.l d0,(a0)+
move.w d0,(a0)+
.no_life
tst.b $c1.w
beq.s .no_nrg
lea $c0697c-$c00400(a5),a0 ; energy
move.l d0,(a0)+
move.w d0,(a0)+
.no_nrg
tst.b $c2.w
beq.s .no_shield
move.l a5,a0
add.l #$c147f8-$c00400,a0 ; shield
move.l d0,(a0)+
move.w d0,(a0)+
.no_shield
tst.b $c3.w
beq.s .no_time
move.l a5,a0
add.l #$c19478-$c00400,a0 ; time
move.w d0,(a0)+
.no_time
move.l a5,a0
move.l #$c68600-$c00400,d0
move.l #$2a7803f0,(a0,d0.l) ; warp1
move.l #$c688d8-$c00400,d0
move.l #$2a7803f0+4,(a0,d0.l) ; warp2
move.l #$c68b7c-$c00400,d0
move.l #$2a7803f0+4+4,(a0,d0.l) ; warp3
move.l #$c68e04-$c00400,d0
move.l #$2a7803f0+4+4+4,(a0,d0.l) ; warp4
move.l a5,a0
add.l #$c692a4-$c00400,a0
lea warp_addr(pc),a1 ; warp jump!
move.l a0,(a1)
; add.l #$c69318-$c00400,a0
tst.b $c4.w
beq.s .no_jump
move.l a5,a0
add.l #$c04834-$c00400,a0
move.w #$4eb8,(a0)+ ; level jump
move.w #jump-a000,(a0) ; level jump
lea adr(pc),a0
move.l a5,4(a0)
add.l #$c75f5a-$c00400,4(a0)
move.l a5,12(a0)
add.l #$c01e3c-$c00400,12(a0)
.no_jump
movem.l (a7)+,d0/a0/a1
rts
org $1f0000+$3c0
load $1f0000+$3c0
jump not.b d0
ror.b d0
cmp.b #$26,d0
bne.s no
adr move.w #$0001,$0
move.w #$ff00,$0
no rts
org $1f0000+$3f0
load $1f0000+$3f0
dc.l warp1-a000
dc.l warp2-a000
dc.l warp3-a000
dc.l warp4-a000
ende
*$2a78 move.l $x.w,a5